約 788,551 件
https://w.atwiki.jp/clan_gps/pages/51.html
2月28日 (木) vs SOS / 15-5 gpS Win. マップ 陣営 得点 出場メンバー Railhouse Speco 4-1 syaoly gift Elleair centi VodaLine 〃 Terro 4-1 syaoly gift Elleair centi VodaLine Northport Speco 4-1 syaoly gift Elleair centi VodaLine 〃 Terro 3-2 syaoly gift Elleair centi VodaLine
https://w.atwiki.jp/yokkun/pages/451.html
GPS衛星の時計補正 Yahoo!知恵袋より。GPS衛星の時計補正の計算。一般相対論のきわめて身近な応用の好例。 GPS衛星は地上との交信を通じて,地上局(GPSアンテナ)の位置を割り出すデータをやり取りするうえで,地上の時刻とぴったりあった時計を必要とする。しかし,地球重力と地球周りの公転のために相対論的な補正が必要となる。1日当たりの補正は微々たるものだが,それが積み重なると精密な測地のためのデータにばかにならない誤差となるわけだ。 よく,必要な時間補正に対して重力による一般相対論的な部分と,公転速度による特殊相対論的な部分とに分けてどちらが大きいかという比較がなされる。結果として,重力による一般相対論的な効果が勝り,衛星上では地上より時間が進むといわれる。しかしながら,本来特殊相対論は一般相対論の中に包含されるため,特に別途計算(しようと思えばできるが)する必要はない。 球対称重力場による時空の歪みの表現として,ブラックホールの存在予測にも使われている,シュヴァルツシルト計量というものが計算の土台となる。地球質量,万有引力定数,光速として,半径における時空の計量は, ただし,球座標において 地球の自転を無視できるものとすると,地上時間は,地球半径に上の計量を適用して, は,無限遠の平坦な時空における時間を示す。GPS衛星の速さは, :衛星軌道半径 となるから,衛星時間は, 上の2つの計量によって,地上時間と衛星時間の関係 を得る。 公転は等速円運動であるとして,円運動の方程式は したがって, となる。さて,は明らかであるから,時間補正はに対して1次の近似をとれば充分であろう。 補正の割合を計算すると, 具体的な数値 を代入すると, を得る。1秒に対して約20億分の1秒。100年で1.4秒という小さなものであるが,測地データのずれとしては無視できないものとなるのである。
https://w.atwiki.jp/dmdm707/pages/76.html
DoCoMo 905i以降のケータイを、GPSロガーとして使ってみるテスト ■「ゼンリン地図+ナビ」「地図アプリ」のcsvをgpx形式に変換 http //suu.cocolog-wbs.com/blog/2008/05/post_24e6.html ALPSLAB routeに、コピペするhttp //route.alpslab.jp 電池がすぐなくなるんやけどね。。
https://w.atwiki.jp/clan_gps/pages/41.html
2月9日 (土) vs AOP / 8-12 gpS Lose. マップ 陣営 得点 出場メンバー Delta Speco 3-2 syaoly gift k91 kick UI 〃 Terro 0-5 syaoly gift k91 kick UI Northport Speco 3-2 syaoly gift k91 kick UI 〃 Terro 2-3 syaoly gift k91 kick UI
https://w.atwiki.jp/clan_gps/pages/61.html
4月11日 (金) vs SST / 13-7 gpS Win. マップ 陣営 得点 出場メンバー Railhouse Speco 3-2 syaoly gift UI aska One 〃 Terro 2-3 syaoly gift UI aska One Northport Speco 3-2 syaoly gift UI aska One 〃 Terro 5-0 syaoly gift UI aska One
https://w.atwiki.jp/clan_gps/pages/25.html
kick TC暦:3~4年 好きな武器:M4A1 R93 UMP 好きなMAP:nothport 好きな食べ物:サンドイッチ 尊敬するplayer:gpSのみなさん 出現するgame:ないな 一言:今年はがんばります ~スペック~ OS windowsXP home mouse G5 M/B P5K-E VGA GeForce 8800GTS 512MB CPU Core2DuoE6750 2.66GHz*2 RAM DDR2 800 1G*2
https://w.atwiki.jp/clan_gps/pages/63.html
5月11日 (日) vs JINGI / 14-6 gpS Win. マップ 陣営 得点 出場メンバー Railhouse Speco 4-1 syaoly gift UI aska likeus 〃 Terro 4-1 syaoly gift UI aska likeus Northport Speco 3-2 syaoly gift UI aska likeus 〃 Terro 3-2 syaoly gift UI aska likeus
https://w.atwiki.jp/cscd/pages/216.html
線源を扱うやつ。 /gps/pos で線源の位置や形を決めたり、 /gps/particle で粒子の種類を決めたり。 /gps/pos /gps/pos/confine PhysVolName 指定したPhysicalVolume内で粒子を発生させる。このコマンドを書く前に、 /gps/pos/type Volume /gps/pos/shape Cylinder ... などなどを書いてVolumeを作っておく必要があり、gpsでつくったVolumeと指定したPhysicalVolumeの重なった部分で粒子が発生される仕組み。PhysicalVolume全体から発生させたい場合はなるべく大きなVolumeをgpsで作ればいいが、大きすぎるとエラーになることもあるので注意。 /gps/ang ある形をつくってその向きを変えるのがわかりにくい。忘れないようにメモ。 まず/gps/ang/type は平行六面体とかの各面の交わる角度を変えるためのもの。これはとりあえず置いておく。 /gps/ang/rot1 はマニュアルの定義によればx vector(回転させたあとのx軸)の向きを指定する。デフォルトは回転する前のx軸と同じ向き。 /gps/ang/rot2 はx -y 平面内のベクトルの向きを指定する。これが説明不足でよくわからない。デフォルトが(0, 1, 0)なので、y 軸の向きと取っていいのか? マニュアル → Geant4 GPS Users Manual Example → Geant4 GPS Examples その他 Inconsistent GPS rotation
https://w.atwiki.jp/clan_sos/pages/23.html
2008 05/18 Terrorist Specops Totalscore Result north 0-5 2-3 2-7 Lose delta 4-1 1-4 5-5 Draw 02/28 Terrorist Specops Totalscore Result delta 2-3 1-4 3-7 Lose railhouse 1-4 1-4 2-8 Lose
https://w.atwiki.jp/mccc/pages/26.html
このページでは Rednet API と GPS API について解説する。 参考資料: Rednet API GPS API 執筆時のバージョン: ComputerCraft 1.55 for Minecraft 1.6.2 Rednet API通信手段 無線通信の通信可能範囲 チャンネル open close isOpen broadcast announce send receive run GPS APIGPSとはGPSホストの設置 ホスト設置座標の例 GPSの利用 GPSの仕組み locate Rednet API Rednet APIを使うと、離れた場所にあるコンピュータ同士で文字列データを送受信することができる。 assets\computercraft\lua\rom\apis\rednet で定義 通信手段 Rednetには以下のような通信手段があり、どれもRednet APIの関数で扱う事が出来る。 Wireless Modemを使った無線通信 Wired Modemを使った有線通信(CC1.51-) RedPowerのBundled Cablesを使った有線通信(現在では全く使われていない) このページでの解説は、Wireless Modemを使った無線通信と、Wired Modemを使った有線通信を前提として進める。 なお、このAPIはMineFactoryReloadedのRedNet Cableとは一切関係なく、RedNet Cableは通信に利用することもできない。 + ※RedPowerのBundled Cablesを使った有線通信について ※RedPowerのBundled Cablesを使った有線通信について 通信速度が遅く(16bits/2ticks)、GPSも使えず、配線コストもかかるなど何かと不便なので現在は使われない。 Redstone信号で利用するときと同じように、コンピュータの側面に直接Bundled Cablesを接続する。そして、ケーブルを接続した方向をrednet.openで通信可能にする。後はRednet APIの各関数を利用して通信する。 ComputerCraftで扱える文字コードはASCIIの7ビット文字である。この7ビット文字を詰めて16ビットずつ送信する。Bundled Cablesの各色ワイヤーが各ビットのデータを伝送する。16ビットのデータ(2と2/7文字分)1個分の送信には2tickかかる(文字列データに1tick、セパレータに1tick)。 無線通信の通信可能範囲 通信可能範囲は通信するComputerやTurtleを中心とした半径が最大通信距離の球の内側である。 最大通信距離は64~384m(デフォルト設定)で、ComputerやTurtleのある高度によって変化する。以下の式によって求められる。 if y = 96 then range = (y - 96) * (modem_highAltitudeRange - modem_range) / ( WorldHeight - 98 ) + modem_range else range = modem_range end デフォルト設定なら更に以下のようにも簡略化できる。 range = y = 96 and (y - 96) * 320 / 158 + 64 or 64 CC1.42では、CC1.41の「最高高度でもConfigで設定した最大通信距離に達しない不具合」が修正された。 デフォルト設定の通信可能距離 高度 最大通信距離 1 64 ... 64 96 64 97 66.0253... ... 高度+1毎に+2.0253... 254 384 雷雨時には modem_range の代わりに modem_rangeDuringStorm が、 modem_highAltitudeRange の代わりに modem_highAltitudeRangeDuringStorm が計算に使われることによって、最大通信距離が大幅に縮む。デフォルトの場合、 64m~384m が 16m~64m になる。 実際に到達判定に使われる最大通信距離は、送信側と受信側の最大通信距離のうち長い方である。 このため、例えば地上(低高度)にあるコンピュータと高高度にあるコンピュータは、高高度にあるコンピュータの通信範囲内なら互いに送受信が可能。通信の中継やGPSホストなどは、ワールドの限界高度付近に設置したWirless Turtleで行うとよい。 なお、送信側または受信側がロードされていないチャンク(プレイヤーのいるチャンクを中心とした21*21チャンクの範囲の外。いわゆる凍結チャンク)にある場合は、距離的に通信可能範囲内であっても通信を行うことができない。 チャンネル 【1.5-】 + クリックで詳細を開く。なお、従来通り通信をRednet APIで行う限りにおいては、この仕様変更を気にする必要はない。 従来の仕様では、送信時に指定できる送信先は特定のIDを持つコンピュータか、全てのコンピュータのみであった。CC1.5よりWireless Modemの機能が刷新され、コンピュータIDに替わり、通信対象の指定にチャンネルが使われるようになった。通信は、送信時に指定されたチャンネルと同じチャンネルをopenしている全てのコンピュータで受信可能である。また、一つのコンピュータは同時に127個のチャンネルまでopenすることができる。 なお、通信をRednet APIで行う限りにおいては、この仕様変更を気にする必要はない。なぜならば、Rednet APIではチャンネル番号としてコンピュータIDが用いられており、rednet.broadcast関数にも特定のチャンネル番号が用いられている(後述)ためである。受信に関しても、rednet.receive関数およびrednet_messageイベントは従来通りこれら2つのチャンネルからのみ受信が可能である。 チャンネルは番号により識別され、チャンネルに使用できる番号は0~65535の整数である。ただし、65534はGPS用に、65535はrednet.broadcast用に使われている。 gps.CHANNEL_GPS = 65534 rednet.CHANNEL_BROADCAST = 65535 任意のチャンネル番号を指定して通信を行うには、Peripheral APIを用いて、直接Wireless Modemのメソッドを呼び出して通信する必要がある。また、受信するためにはos.pullEvent関数でmodem_messageイベントを捕捉する。この方法で他者の利用しているチャンネルをopenして受信すると、他者のコンピュータ宛ての通信を見る事が出来てしまうので注意。 open rednet.open( side ) side(文字列)方向を通信可能な状態にする 戻り値:nil side は "left", "right", "top", "bottom", "front", "back" のいずれか(以下同様)。 【1.5-】コンピュータIDと同じ番号のチャンネル及び、rednet.CHANNEL_BROADCASTのチャンネルから受信可能な状態にする。 例: rednet.open( "left" ) 左側を通信可能な状態にする。 close rednet.close( side ) side(文字列)方向を通信不可能な状態にする。 戻り値:nil 【1.5-】コンピュータIDと同じ番号のチャンネル及び、rednet.CHANNEL_BROADCASTのチャンネルからの受信を不可能な状態にする。 isOpen 【1.5-】 rednet.close( side ) side(文字列)方向が通信可能な状態か調べる。 戻り値:ブーリアン型。通信可能状態ならtrue、不可能状態ならfalse。 コンピュータIDと同じ番号のチャンネルとrednet.CHANNEL_BROADCASTのチャンネルの両方から受信可能な状態かを返す。 broadcast rednet.broadcast( message ) すべての通信可能なComputer/Turtleへmessage(文字列)を送信する 戻り値:ブーリアン型。送信に成功したらtrue、失敗したらfalse。ただし受信の成否については保証しない 【1.5-】rednet.CHANNEL_BROADCASTのチャンネルにmessageを送信する。rednet.receiveはrednet.CHANNEL_BROADCASTチャンネルからも受信可能なため、結果的に従来のrednet.broadcastと同じ働きをする。 例: rednet.broadcast("ComputerCraft") すべての通信可能なComputer/Turtleへ文字列"ComputerCraft"を送信する。 announce 【-1.481】 rednet.announce() すべての通信可能なコンピュータに空のメッセージを送信する。 rednet.broadcast("") と同等 戻り値:ブーリアン型。送信に成功したらtrue、失敗したらfalse。ただし受信の成否については保証しない 【1.5-】この関数は削除された。 send rednet.send( receiverID , message [ , waitUntilPortOpen] ) receiverID(数値)のIDを持つComputer/Turtleへmessage(文字列)を送信する。waitUntilPortOpen(ブーリアン)にtrueを指定した場合は、サーバのポートが開くまで待つ(省略可)。 戻り値:ブーリアン型。送信に成功したらtrue、失敗したらfalse。ただし受信の成否については保証しない 【1.5-】receiverIDと同じ番号のチャンネルにmessageを送信する。rednet.openではコンピュータIDをチャンネル番号としてopenしているため、結果的に従来通りIDがreceiverIDのコンピュータに送信することになる。 例: rednet.send(22,"ComputerCraft", true) IDが22のComputer/Turtleへ文字列"ComputerCraft"を送信する(ポートが利用可能になるまで待つ)。 receive rednet.receive( timeout ) 他のComputer/Turtleからの通信を待ち、通信があれば受信する。timeout(数値)で待つ最大時間を指定できる。 戻り値:数値型(senderID), 文字列型(message), 数値型(distance)。通信を受信すると、送信者ID(senderID)とメッセージ(message)、送信者までの距離(distance)が返る。ただしRedPowerの有線通信の場合は距離を取得できない。タイムアウトした場合はnilが返る。 os.pullEvent関数を用いてtimerイベント(timeout指定時のタイムアウト処理)とrednet_messageイベント(通信の受信)の捕捉を行っている。イベントシステムを使って実装されているため、受信待機中に発生した他のイベントは破棄される。 【1.5-】通信可能なチャンネルからの通信を待ち、通信があれば受信する。rednet.openでは自身のコンピュータIDとrednet.CHANNEL_BROADCASTのチャンネルを通信可能な状態にするため、結果的に従来のrednet.receiveと同じ働きをする。なお、内部的にはrednet_messageイベントで受信しているため、前述の2つのチャンネル以外からはopenに関わらず受信できない。 【1.51-】Wired Modemを用いた有線通信の場合、distanceは送信者までのケーブルの長さが返る。 例: senderId, message, distance = rednet.receive() print(message) メッセージを受信し、それを表示する。 run rednet.run() Rednet通信をモデムから受信し、rednet.receive関数で受信できるようにする 戻り値:nil BIOSプログラム用の関数。BIOSプログラムによって自動的に実行されるため、プレイヤーが実行する必要はない。既に実行されている状態で呼び出した場合は、"rednet is already running"というエラーメッセージが表示される。 Rednet通信をモデムからのmodem_messageイベントで受信し、モデムがオープンかつ、受信チャンネルがコンピュータIDまたはブロードキャストの場合に、受信した情報を元にしてrednet_messageイベントを発生させる。rednet.receive関数は、この関数が発生させたrednet_messageイベントを取得することによってRednet通信を「受信」する。 GPS API GPSとは assets\computercraft\lua\rom\programs\gps で定義 GPSホストに記憶させた座標と、無線通信時に取得できるGPSホストまでの距離を元に、三次元測位の原理で位置を知りたいコンピュータの座標を計算するシステム(現実のGPSとはあまり関係ない)。ゲーム内から直接座標を取得するのではなく、Rednet APIの機能をフル活用して座標を求めている。 GPSホストの設置 最低限必要なもの: GPSホストにする「Wireless Modemを接続したComputer」または「Wireless Turtle」を計4つ (当然ながらWired Modemでは利用できない) GPSホスト4つをそれぞれが同じ平面上にならない位置(つまり三角錐の各頂点の位置)に設置する。GPSホストは、なるべく広範囲から利用できるように、設置限界高度ギリギリに設置するとよい。そして、gps host x y z コマンドで各GPSホストの座標を指定してGPSホストプログラムを起動する。GPSホストの座標は、GPSホストとするComputer/Turtleを設置した座標である(※Wireless Modemブロックの座標ではないので注意)。 GPSホストのComputer/Turtleがチャンク凍結・リロードで再起動しても自動で復帰できるようにするため、GPSホストプログラムはstartupプログラム内で起動するとよい。 startupの例: shell.run("gps", "host", "100", "254", "-200") GPSホストプログラムを座標(100, 254, -200)に設定して起動する。 CC1.4からWireless Turtleでもgps hostコマンドが使えるように修正された。これにより、Wireless Turtleをプログラムによって設置位置まで移動させGPSホストプログラムを起動することが可能となった(ただし、自力で登って設置するならComputerの方が低コスト)。 ホスト設置座標の例 ※以下の例の「有効範囲」はWireless Modemの通信距離によるもの。実際には、GPSホストがプレイヤーからxまたはz座標で160mくらい離れた(正確にはプレイヤーのいるチャンクを中心とした21*21チャンクの範囲から出た)時点でGPSホストのあるチャンクが凍結され、利用できなくなってしまう(他のmodで追加されるチャンクローダーで回避可能)。 例1: CC公式フォーラムで紹介されていたもの。平面上の有効範囲はy1で半径約270m、y64で半径約320mの大体円形。 (x, 254, z - 9) (x + 9, 251, z) (x, 254, z + 9) (x - 9, 251, z) ただし上の例では、y240~250付近で通信範囲内であっても座標を特定できないエリアがわずかに存在する(山岳~地下で利用する分には特に問題ない)。 例2: GPSホストを一辺が約12mの正四面体の各頂点に配置した例。有効範囲は4機目を中心として半径約363mの球形内。平面上の有効範囲はy1で半径約270m、y64で半径約315m、y128で半径約340mの円形。 (x - 6, 254, z - 4) (x + 6, 254, z - 4) (x, 254, z + 7) (x, 244, z) 4機目の高度を下げているのは、4機目が1~3機目と同じ平面上の位置にならないようにするため。 + ... ホスト3機で2つに絞れた座標(片方が正しい)を4機目で1つに絞るためには、【《計算で求められた正しい座標と4機目間の距離》と《Rednetによる4機目までの正確な距離》の差の絶対値】と【《計算で求められた正しくない座標と4機目間の距離》と《Rednetによる4機目までの正確な距離》の差の絶対値】の差の絶対値が0.05以上である必要がある。これはGPS APIによる制約で、この値がGPS利用予定範囲内のすべての位置で0.05以上になるように4機目の高度を下げるのだが、高度を下げ過ぎると今度は通信可能範囲が縮小してGPS全体の利用可能範囲が狭くなってしまう。双方のバランスをとった結果、4機目のy座標、そして2~4機目のx, z座標つまりGPSの利用可能範囲が決まることになる。 GPSの利用 4つ以上のGPSホストが利用可能な位置にある「Wireless Modemを接続したComputer」や「Wireless系 Turtle」でgps locateコマンドやgps.locate関数を使用する。 GPSの仕組み ※【1.5】からWireless Modemの通信仕様変更により、GPS API及びgpsプログラムは、GPSホスト側の受信にはgps.CHANNEL_GPSのチャンネルを、GPSで座標を求めるコンピュータ側の受信には自身のコンピュータIDのチャンネルを用いるように変更されている。そのため、GPS APIやgpsプログラムを使わずにGPSネットワークを利用する場合は、Peripheral APIを用いて、直接Wireless Modemのメソッドを呼び出して通信する必要がある。詳しくは assets\computercraft\lua\rom\apis\gps 及び assets\computercraft\lua\rom\programs\gps のLuaスクリプトを参照。なお、GPS API及びgpsプログラムからのみGPSを利用する限りは、この仕様変更を特に気にする必要はない。 GPSホストには事前にGPSホストのある座標を記憶させておく(gps hostコマンドを使用。GPSホストはCHANNEL_GPSチャンネル宛ての通信が受信可能になる) gps locateコマンドまたはgps.locate関数によって、現在位置を知りたいコンピュータから文字列"PING"がCHANNEL_GPSチャンネルへ送信される 文字列"PING"を受信したGPSホストは、1.で設定した自身の座標を"PING"を送信したコンピュータ(2.の位置を知りたいコンピュータ)へ返信する 位置を知りたいコンピュータは各GPSホストからGPSホストの座標とGPSホストまでの距離(位置を求める計算に使われる)を得る。 位置を知りたいコンピュータ側に、同一平面上にない4つ以上のGPSホストから返信があれば位置を計算できる。同一直線上にない3つのGPSホストの場合、gps locateコマンドや、デバッグモードを指定したgps.locate関数は2つの座標(片方が正しい)を画面に表示するが、gps.locate関数の戻り値から結果を得ることはできない。 locate assets\computercraft\lua\rom\apis\gps で定義 gps.locate( timeout [ , debug ] ) GPSシステムを利用してコンピュータやタートルの座標を求める。timeout(数値)はGPSホストからの返信を待つ時間(秒)。debug(ブーリアン)にtrueを指定すると画面にデバッグ情報を表示する。 戻り値:数値型(x), 数値型(y), 数値型(z)。座標が求められた場合は各座標の数値が返る。求められなかった場合はnilが返る 位置を求めるのに有効なGPSホストが3つしかない場合は、デバッグ情報に2つの候補座標が表示されるが関数の戻り値からは座標を取得することができない(nilが返る)。 内部的にはos.pullEvent関数でmodem_messageイベントとtimerイベントを捕捉している。イベントシステムを使って実装されているため、受信待機中に発生した他のイベントは破棄される。